package com.test.multithread.FunctionalInterface.anno2;

interface A{
    public void printInfo() ;    // 
}
class X {
    public void fun1(){
        this.fun2(new A(){ //这里所做的改变就是，把原本的B类去掉，然后在括号中的new B()改成new A()（也就是接口类），给出方法的具体实现，定义内部类。相当于把B类的写的操作代码直接写到匿名内部类中。
                public void printInfo(){
                    System.out.println("Hello World!!!") ;
                }
            }
            ) ;
    }
    public void fun2(A a){
        a.printInfo() ;
    }
};
public class NoInnerClassDemo02{
    public static void main(String args[]){
        new X().fun1() ;        // 实例化X类的对象，并调用fun1()方法
    }
};